Java面试题及回答 - 技术翻译 - 开源中国社区

创建时间:2015/9/8 18:12
更新时间:2018/4/27 14:46
来源:http://www.oschina.net/translate/java-interview-questions-and-answers?lang=chs&page=5#


95.解释一个Servlet的生命周期.

对每一个客户端的请求,这个Servlet引擎加载servlet和调用它的init方法,以便在servlet初始化。然后, Servlet对象处理所有从客户端来的后续请求,通过为每个请求单独调用服务的方法。最后,该servlet调用服务器的destroy方法。

96 .doGet()和doPost()之间的区别是什么?

doGet : GET方法附加请求的URL的名称 - 值对。因此,存在客户端的请求字符数量的限制。此外,该请求的参数值为可见,因此,如果有敏感信息不能采用这种方式。
doPost: POST方法克服了GET请求的限制,将发送请求的值置于body里。此外,发送值的数量没有限制。最后,通过POST请求传递的敏感信息是不可见的

petert
petert
翻译于 1年前

1人顶

 翻译的不错哦!

97. web应用是什么 ?
web应用是web服务的延伸. 主要有两种类型:面向视觉的和面向服务的. 面向视觉型的应用通过编辑语言来动态展示交互页面. 面向应用的则提供了后端的service.总的来说,就是一堆置于 server's URL明明空间下的servlets.

98. 什么是服务端包含 (SSI) ?
服务端包含是服务端的一种简单脚本语言,主要应用在Web方面,置于servlet标签中. 最常用的地方就是在网页中引入一个或多个文件. 当浏览器加载页面时,使用servlet产生的超文本替换其标签.

petert
petert
翻译于 1年前

1人顶

 翻译的不错哦!

99. 什么是 Servlet 链?
Servlet 链是指将上一个servlet的结果传到下一个.第二个的结构又可以传到第三个. 最后的servlet负责将响应回复给客户端.

100. 如何知道请求 servlet的客户端信息 ?
ServletRequest类可以获取客户端的IP地址或主机名. getRemoteAddr()获取IP getRemoteHost()获取主机名. 示例如下 here.

petert
petert
翻译于 1年前

0人顶

 翻译的不错哦!

101. Http response的结构是什么 ?
HTTP response 包括了三个部分:

  • Status Code: 描述了这次回应的状况. 它可以用来检查这次请求是否成功完成. 一旦请求失败了, 这个status code可以用来寻找原因. 如果你的 servlet 没有返回一个status code, 默认就会返回成功的status code, HttpServletResponse.SC_OK.

  • HTTP Headers: 它包含了response的更多信息.举个例子,headers可以反应response的访问date/time, 或者是用于将实体安全地传送到用户的编码形式。可以阅读 how to retrieve headers in Servlet here.

  • Body: 它是response的具体内容. 可能包括HTML内容,比如图片。Body包括了紧接Header发送的HTTP事务消息数据字节。

102. 什么是cookie?session和cookie之间的区别是什么?
Cookie是Web服务器发送到浏览器的一小块信息,浏览器为每个Web服务器在本地文件中存储cookie。 在以后的请求里, 浏览器对特定的Web服务器,将request和所有特定的Web服务器的cookie一起发送。Session和Cookie之间的区别如下:

  • Session无论在客户端浏览器的设置都可以工作。客户端可以选择禁用cookies。然而,Session仍然可以工作,因为客户端没有能力在服务器端禁用Session。

  • Session和cookie也t有不同的信息存储量。 HTTP会话能够存储任何Java对象,而一个cookie只能保存String对象。

Mike-Tang
Mike-Tang
翻译于 1年前

0人顶

 翻译的不错哦!

103.浏览器和servlet通过什么协议通信  ?
HTTP协议.

104. 什么是HTTP通道 ?
通道是指使用 HTTP或 HTTPS 封装其它的网络协议. HTTP包装了其他的网络通信协议. 其它协议通过HTTP来发送请求的过程就使用了通道.

petert
petert
翻译于 1年前

0人顶

 翻译的不错哦!

105.  sendRedirect和 forward 方法的区别?
 sendRedirect创建一个新的请求,  forward只是将请求转发.之前请求中包含的对象在redirect后将不可用, 因为产生了一个新的请求. 但是 forwarding不受此限制.通常来说,sendRedirect 比 forward 方法慢一些.

106. 什么是URL编码和解码 ?

URL编码就是替换其中的空格和特殊字符, 变成相应的Hex码.解码就是反向操作。

petert
petert
翻译于 1年前

0人顶

 翻译的不错哦!

JSP

107. JSP页面是什么 ?
一个JSP页面是一个文本文档,包含了两种类型的文本:静态数据和JSP元素。静态数据可以以任何一种基于文本的格式表达,比如HTML或者XML。JSP是一种混合了静态内容与动态生成内容的技术。查看JSP例子

108. JSP请求是如何被处理的?
一个JSP请求的到来,浏览器首先以一个jsp扩展的文件名来请求一个页面。然后,Web Server读取到该请求,使用JSP编译器将JSP页面转换为一个servlet类。注意JSP文件只在该页面的第一次请求或者JSP文件已经改变时才编译。生成的servlet类被调用,去处理浏览器的请求。一旦请求处理完,servlet会向客户端返回一个相应。查看如何获取JSP请求中的参数

jadic
jadic
翻译于 1年前

0人顶

 翻译的不错哦!

109. JSP的优势所在?

使用JSP技术有以下优势:

  • JSP网页被动态的编译,因此开发者很容易更新当前代码。

  • JSP网页可预编译。

  • JSP网页能容易的组合成静态模版,包括HTML XML片段,且代码可形成动态内容。

  • 开发者能提供自定义的JSP标签库,且使用类XML语法访问。

  • 开发者可以在组件级别做逻辑上的改变,但是不能使用程序逻辑编辑个别的网页。

110. 什么是指令?在JSP中, 包括哪些不同类型的指令?

指令是JSP引擎所处理的命令,当网页被编译成小程序时,指令用于去设置页面级别的命令,从外部文件插入数据,指定自定义的标签库。指令被包括在<%@ 和%>内。指令的类型分为:

  • 包含指令:用于包含文件,和当用页面合并文件内容。

  • 页面指令:用于定义JSP页面的具体属性,比如错误页面和缓冲池。

  • 标签库:用于声明页面中使用到的自定义标签库。

漠天
漠天
翻译于 1年前

0人顶

 翻译的不错哦!

111. 什么是JSP的actions?
JSP的actions是使用XML语法结构来控制Servlet引擎的行为。JSP的actions是在当JSP页面请求的时候才执行。它们会动态插入一个文件中,再利用JavaBeans的组件,转发给用户到另一个页面,或者生成带Java插件的HTML页面。以下是一些可以操作的actions:

  • jsp:include- 当JSP页面被请求的时候,包含了一个文件。

  • jsp:useBean- 寻找或者实例化一个JavaBean。

  • jsp:setProperty- 设置JavaBean的属性。

  • jsp:getProperty- 得到JavaBean的属性。

  • jsp:forward- 转发请求到新的页面。

  • jsp:plugin- 生成特定浏览器的代码。

112. 什么是Scriptlet?
在Java Server Page(JSP)技术中,scriptlet是嵌入在JSP页面的其中一块Java代码。scriptlet是标签内的任何东西。在这些标签之间,用户可以添加任何有效的scriptlet。

轩骐
轩骐
翻译于 1年前

1人顶

 翻译的不错哦!

113. 什么是声明?
声明类似于Java中的变量声明。声明是为表达式或者scriptlets后续的使用而声明的变量。添加一个声明,你必须在你的声明中使用序列。

114. 什么是表达式?
JSP表达式是把一个脚本语言表达式的值插入进来,转换成字符串,进入数据流之后再通过web服务器返回给客户端。表达式的定义是在<% = 和 %>标签之间。

115. 什么是隐式对象?他们是什么?
JSP隐式对象是指JSP容器在每页中提供给开发人员的Java对象。开发人员可以直接调用他们,而不需要任何显示声明。JSP隐式对象也被称为预定义变量。以下对象都是在JSP页面中隐式存在的:

  • application

  • page

  • request

  • response

  • session

  • exception

  • out

  • config

  • pageContext

 
坚持看到这里了?哇!这是一篇很长的文章,详细地描述了在Java面试中各种类型的问题。

轩骐
轩骐
翻译于 1年前

1人顶

 翻译的不错哦!

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们

回页面顶部发表评论 网友评论65

  • jdk2010
    jdk2010 发表于 2014-04-25 10:22

    applet那部分不太会

  • xioxin
    xioxin 发表于 2014-04-25 10:23

    第一次发现翻译也有页码

  • 城南往事
    城南往事 发表于 2014-04-25 10:31

    applet还有java swing基本上就看看,主要还是java web这个

  • 你要爪子
    你要爪子 发表于 2014-04-25 10:34

    辛苦大家啦!让红薯发糖

  • 小咖
    小咖 发表于 2014-04-25 10:36

    话说当年这些面试题基本都很熟练,现在表示什么都看不懂了,phper路过......

  • Frank_mc
    Frank_mc 发表于 2014-04-25 10:49

    第一次看到翻页居然不是回复而是文章本身带翻页的

  • pauli
    pauli 发表于 2014-04-25 10:53

    引用来自“Frank_mc”的评论

    第一次看到翻页居然不是回复而是文章本身带翻页的

    翻页超链接点击以后,跳跳跳,好难过
  • 八木
    八木 发表于 2014-04-25 11:23

    这么一堆人翻译。。

  • Glide
    Glide 来自 Android 发表于 2014-04-25 11:24

    引用来自“jdk2010”的评论

    applet那部分不太会

    applet这种技术早就不用了。
  • 马太航
    马太航 发表于 2014-04-25 11:32

    都是初级的。

  • shiwo
    shiwo 来自 Android 发表于 2014-04-25 11:51

    引用来自“Frank_mc”的评论

    第一次看到翻页居然不是回复而是文章本身带翻页的

    引用来自“pauli”的评论

    翻页超链接点击以后,跳跳跳,好难过
    哈哈
  • shiwo
    shiwo 来自 Android 发表于 2014-04-25 11:52

    哈哈

  • 静风流云
    静风流云 发表于 2014-04-25 11:59

    没有查看全文么?

  • 梅开源
    梅开源 发表于 2014-04-25 12:12

    java这样搞就没意思了
    话说问题根源在于那样问

  • Windows10
    Windows10 来自 Android 发表于 2014-04-25 12:22

    马克一下

  • 切丶克闹
    切丶克闹 发表于 2014-04-25 12:23

    mark

  • 缪斯的情人
    缪斯的情人 发表于 2014-04-25 12:47

    挺好的文章,给别人面试时要排除的115题

  • 地方刚刚好
    地方刚刚好 发表于 2014-04-25 12:51

    引用来自“缪斯的情人”的评论

    挺好的文章,给别人面试时要排除的115题

    赞同
  • 12叔
    12叔 发表于 2014-04-25 13:07

    没意思

  • 小郭一号
    小郭一号 发表于 2014-04-25 13:23

    翻译可以协作?挺好。

© 开源中国(OSChina.NET) | 关于我们 | 广告联系 | @新浪微博 | 开源中国手机版 | 粤ICP备12009483号-3 开源中国手机客户端: Android iPhone WP7
开源中国社区(OSChina.net)是工信部 开源软件推进联盟 指定的官方社区
93

115个Java面试题及回答

英文原文:115 Java Interview Questions and Answers – The ULTIMATE List

标签: Java
1054人收藏此文章, 我要收藏 翟志军 推荐于 1年前 (共 50 段, 翻译完成于 04-25) (65评)

95.解释一个Servlet的生命周期.

对每一个客户端的请求,这个Servlet引擎加载servlet和调用它的init方法,以便在servlet初始化。然后, Servlet对象处理所有从客户端来的后续请求,通过为每个请求单独调用服务的方法。最后,该servlet调用服务器的destroy方法。

96 .doGet()和doPost()之间的区别是什么?

doGet : GET方法附加请求的URL的名称 - 值对。因此,存在客户端的请求字符数量的限制。此外,该请求的参数值为可见,因此,如果有敏感信息不能采用这种方式。
doPost: POST方法克服了GET请求的限制,将发送请求的值置于body里。此外,发送值的数量没有限制。最后,通过POST请求传递的敏感信息是不可见的

petert
petert
翻译于 1年前

1人顶

 翻译的不错哦!

97. web应用是什么 ?
web应用是web服务的延伸. 主要有两种类型:面向视觉的和面向服务的. 面向视觉型的应用通过编辑语言来动态展示交互页面. 面向应用的则提供了后端的service.总的来说,就是一堆置于 server's URL明明空间下的servlets.

98. 什么是服务端包含 (SSI) ?
服务端包含是服务端的一种简单脚本语言,主要应用在Web方面,置于servlet标签中. 最常用的地方就是在网页中引入一个或多个文件. 当浏览器加载页面时,使用servlet产生的超文本替换其标签.

petert
petert
翻译于 1年前

1人顶

 翻译的不错哦!

99. 什么是 Servlet 链?
Servlet 链是指将上一个servlet的结果传到下一个.第二个的结构又可以传到第三个. 最后的servlet负责将响应回复给客户端.

100. 如何知道请求 servlet的客户端信息 ?
ServletRequest类可以获取客户端的IP地址或主机名. getRemoteAddr()获取IP getRemoteHost()获取主机名. 示例如下 here.

petert
petert
翻译于 1年前

0人顶

 翻译的不错哦!

101. Http response的结构是什么 ?
HTTP response 包括了三个部分:

  • Status Code: 描述了这次回应的状况. 它可以用来检查这次请求是否成功完成. 一旦请求失败了, 这个status code可以用来寻找原因. 如果你的 servlet 没有返回一个status code, 默认就会返回成功的status code, HttpServletResponse.SC_OK.

  • HTTP Headers: 它包含了response的更多信息.举个例子,headers可以反应response的访问date/time, 或者是用于将实体安全地传送到用户的编码形式。可以阅读 how to retrieve headers in Servlet here.

  • Body: 它是response的具体内容. 可能包括HTML内容,比如图片。Body包括了紧接Header发送的HTTP事务消息数据字节。

102. 什么是cookie?session和cookie之间的区别是什么?
Cookie是Web服务器发送到浏览器的一小块信息,浏览器为每个Web服务器在本地文件中存储cookie。 在以后的请求里, 浏览器对特定的Web服务器,将request和所有特定的Web服务器的cookie一起发送。Session和Cookie之间的区别如下:

  • Session无论在客户端浏览器的设置都可以工作。客户端可以选择禁用cookies。然而,Session仍然可以工作,因为客户端没有能力在服务器端禁用Session。

  • Session和cookie也t有不同的信息存储量。 HTTP会话能够存储任何Java对象,而一个cookie只能保存String对象。

Mike-Tang
Mike-Tang
翻译于 1年前

0人顶

 翻译的不错哦!

103.浏览器和servlet通过什么协议通信  ?
HTTP协议.

104. 什么是HTTP通道 ?
通道是指使用 HTTP或 HTTPS 封装其它的网络协议. HTTP包装了其他的网络通信协议. 其它协议通过HTTP来发送请求的过程就使用了通道.

petert
petert
翻译于 1年前

0人顶

 翻译的不错哦!

105.  sendRedirect和 forward 方法的区别?
 sendRedirect创建一个新的请求,  forward只是将请求转发.之前请求中包含的对象在redirect后将不可用, 因为产生了一个新的请求. 但是 forwarding不受此限制.通常来说,sendRedirect 比 forward 方法慢一些.

106. 什么是URL编码和解码 ?

URL编码就是替换其中的空格和特殊字符, 变成相应的Hex码.解码就是反向操作。

petert
petert
翻译于 1年前

0人顶

 翻译的不错哦!

JSP

107. JSP页面是什么 ?
一个JSP页面是一个文本文档,包含了两种类型的文本:静态数据和JSP元素。静态数据可以以任何一种基于文本的格式表达,比如HTML或者XML。JSP是一种混合了静态内容与动态生成内容的技术。查看JSP例子

108. JSP请求是如何被处理的?
一个JSP请求的到来,浏览器首先以一个jsp扩展的文件名来请求一个页面。然后,Web Server读取到该请求,使用JSP编译器将JSP页面转换为一个servlet类。注意JSP文件只在该页面的第一次请求或者JSP文件已经改变时才编译。生成的servlet类被调用,去处理浏览器的请求。一旦请求处理完,servlet会向客户端返回一个相应。查看如何获取JSP请求中的参数

jadic
jadic
翻译于 1年前

0人顶

 翻译的不错哦!

109. JSP的优势所在?

使用JSP技术有以下优势:

  • JSP网页被动态的编译,因此开发者很容易更新当前代码。

  • JSP网页可预编译。

  • JSP网页能容易的组合成静态模版,包括HTML XML片段,且代码可形成动态内容。

  • 开发者能提供自定义的JSP标签库,且使用类XML语法访问。

  • 开发者可以在组件级别做逻辑上的改变,但是不能使用程序逻辑编辑个别的网页。

110. 什么是指令?在JSP中, 包括哪些不同类型的指令?

指令是JSP引擎所处理的命令,当网页被编译成小程序时,指令用于去设置页面级别的命令,从外部文件插入数据,指定自定义的标签库。指令被包括在<%@ 和%>内。指令的类型分为:

  • 包含指令:用于包含文件,和当用页面合并文件内容。

  • 页面指令:用于定义JSP页面的具体属性,比如错误页面和缓冲池。

  • 标签库:用于声明页面中使用到的自定义标签库。

漠天
漠天
翻译于 1年前

0人顶

 翻译的不错哦!

111. 什么是JSP的actions?
JSP的actions是使用XML语法结构来控制Servlet引擎的行为。JSP的actions是在当JSP页面请求的时候才执行。它们会动态插入一个文件中,再利用JavaBeans的组件,转发给用户到另一个页面,或者生成带Java插件的HTML页面。以下是一些可以操作的actions:

  • jsp:include- 当JSP页面被请求的时候,包含了一个文件。

  • jsp:useBean- 寻找或者实例化一个JavaBean。

  • jsp:setProperty- 设置JavaBean的属性。

  • jsp:getProperty- 得到JavaBean的属性。

  • jsp:forward- 转发请求到新的页面。

  • jsp:plugin- 生成特定浏览器的代码。

112. 什么是Scriptlet?
在Java Server Page(JSP)技术中,scriptlet是嵌入在JSP页面的其中一块Java代码。scriptlet是标签内的任何东西。在这些标签之间,用户可以添加任何有效的scriptlet。

轩骐
轩骐
翻译于 1年前

1人顶

 翻译的不错哦!

113. 什么是声明?
声明类似于Java中的变量声明。声明是为表达式或者scriptlets后续的使用而声明的变量。添加一个声明,你必须在你的声明中使用序列。

114. 什么是表达式?
JSP表达式是把一个脚本语言表达式的值插入进来,转换成字符串,进入数据流之后再通过web服务器返回给客户端。表达式的定义是在<% = 和 %>标签之间。

115. 什么是隐式对象?他们是什么?
JSP隐式对象是指JSP容器在每页中提供给开发人员的Java对象。开发人员可以直接调用他们,而不需要任何显示声明。JSP隐式对象也被称为预定义变量。以下对象都是在JSP页面中隐式存在的:

  • application

  • page

  • request

  • response

  • session

  • exception

  • out

  • config

  • pageContext

 
坚持看到这里了?哇!这是一篇很长的文章,详细地描述了在Java面试中各种类型的问题。

轩骐
轩骐
翻译于 1年前

1人顶

 翻译的不错哦!

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们

回页面顶部发表评论 网友评论65

  • jdk2010
    jdk2010 发表于 2014-04-25 10:22

    applet那部分不太会

  • xioxin
    xioxin 发表于 2014-04-25 10:23

    第一次发现翻译也有页码

  • 城南往事
    城南往事 发表于 2014-04-25 10:31

    applet还有java swing基本上就看看,主要还是java web这个

  • 你要爪子
    你要爪子 发表于 2014-04-25 10:34

    辛苦大家啦!让红薯发糖

  • 小咖
    小咖 发表于 2014-04-25 10:36

    话说当年这些面试题基本都很熟练,现在表示什么都看不懂了,phper路过......

  • Frank_mc
    Frank_mc 发表于 2014-04-25 10:49

    第一次看到翻页居然不是回复而是文章本身带翻页的

  • pauli
    pauli 发表于 2014-04-25 10:53

    引用来自“Frank_mc”的评论

    第一次看到翻页居然不是回复而是文章本身带翻页的

    翻页超链接点击以后,跳跳跳,好难过
  • 八木
    八木 发表于 2014-04-25 11:23

    这么一堆人翻译。。

  • Glide
    Glide 来自 Android 发表于 2014-04-25 11:24

    引用来自“jdk2010”的评论

    applet那部分不太会

    applet这种技术早就不用了。
  • 马太航
    马太航 发表于 2014-04-25 11:32

    都是初级的。

  • shiwo
    shiwo 来自 Android 发表于 2014-04-25 11:51

    引用来自“Frank_mc”的评论

    第一次看到翻页居然不是回复而是文章本身带翻页的

    引用来自“pauli”的评论

    翻页超链接点击以后,跳跳跳,好难过
    哈哈
  • shiwo
    shiwo 来自 Android 发表于 2014-04-25 11:52

    哈哈

  • 静风流云
    静风流云 发表于 2014-04-25 11:59

    没有查看全文么?

  • 梅开源
    梅开源 发表于 2014-04-25 12:12

    java这样搞就没意思了
    话说问题根源在于那样问

  • Windows10
    Windows10 来自 Android 发表于 2014-04-25 12:22

    马克一下

  • 切丶克闹
    切丶克闹 发表于 2014-04-25 12:23

    mark

  • 缪斯的情人
    缪斯的情人 发表于 2014-04-25 12:47

    挺好的文章,给别人面试时要排除的115题

  • 地方刚刚好
    地方刚刚好 发表于 2014-04-25 12:51

    引用来自“缪斯的情人”的评论

    挺好的文章,给别人面试时要排除的115题

    赞同
  • 12叔
    12叔 发表于 2014-04-25 13:07

    没意思

  • 小郭一号
    小郭一号 发表于 2014-04-25 13:23

    翻译可以协作?挺好。

© 开源中国(OSChina.NET) | 关于我们 | 广告联系 | @新浪微博 | 开源中国手机版 | 粤ICP备12009483号-3 开源中国手机客户端: Android iPhone WP7
开源中国社区(OSChina.net)是工信部 开源软件推进联盟 指定的官方社区
93

115个Java面试题及回答

英文原文:115 Java Interview Questions and Answers – The ULTIMATE List

标签: Java
1054人收藏此文章, 我要收藏 翟志军 推荐于 1年前 (共 50 段, 翻译完成于 04-25) (65评)

95.解释一个Servlet的生命周期.

对每一个客户端的请求,这个Servlet引擎加载servlet和调用它的init方法,以便在servlet初始化。然后, Servlet对象处理所有从客户端来的后续请求,通过为每个请求单独调用服务的方法。最后,该servlet调用服务器的destroy方法。

96 .doGet()和doPost()之间的区别是什么?

doGet : GET方法附加请求的URL的名称 - 值对。因此,存在客户端的请求字符数量的限制。此外,该请求的参数值为可见,因此,如果有敏感信息不能采用这种方式。
doPost: POST方法克服了GET请求的限制,将发送请求的值置于body里。此外,发送值的数量没有限制。最后,通过POST请求传递的敏感信息是不可见的

petert
petert
翻译于 1年前

1人顶

 翻译的不错哦!

97. web应用是什么 ?
web应用是web服务的延伸. 主要有两种类型:面向视觉的和面向服务的. 面向视觉型的应用通过编辑语言来动态展示交互页面. 面向应用的则提供了后端的service.总的来说,就是一堆置于 server's URL明明空间下的servlets.

98. 什么是服务端包含 (SSI) ?
服务端包含是服务端的一种简单脚本语言,主要应用在Web方面,置于servlet标签中. 最常用的地方就是在网页中引入一个或多个文件. 当浏览器加载页面时,使用servlet产生的超文本替换其标签.

petert
petert
翻译于 1年前

1人顶

 翻译的不错哦!

99. 什么是 Servlet 链?
Servlet 链是指将上一个servlet的结果传到下一个.第二个的结构又可以传到第三个. 最后的servlet负责将响应回复给客户端.

100. 如何知道请求 servlet的客户端信息 ?
ServletRequest类可以获取客户端的IP地址或主机名. getRemoteAddr()获取IP getRemoteHost()获取主机名. 示例如下 here.

petert
petert
翻译于 1年前

0人顶

 翻译的不错哦!

101. Http response的结构是什么 ?
HTTP response 包括了三个部分:

  • Status Code: 描述了这次回应的状况. 它可以用来检查这次请求是否成功完成. 一旦请求失败了, 这个status code可以用来寻找原因. 如果你的 servlet 没有返回一个status code, 默认就会返回成功的status code, HttpServletResponse.SC_OK.

  • HTTP Headers: 它包含了response的更多信息.举个例子,headers可以反应response的访问date/time, 或者是用于将实体安全地传送到用户的编码形式。可以阅读 how to retrieve headers in Servlet here.

  • Body: 它是response的具体内容. 可能包括HTML内容,比如图片。Body包括了紧接Header发送的HTTP事务消息数据字节。

102. 什么是cookie?session和cookie之间的区别是什么?
Cookie是Web服务器发送到浏览器的一小块信息,浏览器为每个Web服务器在本地文件中存储cookie。 在以后的请求里, 浏览器对特定的Web服务器,将request和所有特定的Web服务器的cookie一起发送。Session和Cookie之间的区别如下:

  • Session无论在客户端浏览器的设置都可以工作。客户端可以选择禁用cookies。然而,Session仍然可以工作,因为客户端没有能力在服务器端禁用Session。

  • Session和cookie也t有不同的信息存储量。 HTTP会话能够存储任何Java对象,而一个cookie只能保存String对象。

Mike-Tang
Mike-Tang
翻译于 1年前

0人顶

 翻译的不错哦!

103.浏览器和servlet通过什么协议通信  ?
HTTP协议.

104. 什么是HTTP通道 ?
通道是指使用 HTTP或 HTTPS 封装其它的网络协议. HTTP包装了其他的网络通信协议. 其它协议通过HTTP来发送请求的过程就使用了通道.

petert
petert
翻译于 1年前

0人顶

 翻译的不错哦!

105.  sendRedirect和 forward 方法的区别?
 sendRedirect创建一个新的请求,  forward只是将请求转发.之前请求中包含的对象在redirect后将不可用, 因为产生了一个新的请求. 但是 forwarding不受此限制.通常来说,sendRedirect 比 forward 方法慢一些.

106. 什么是URL编码和解码 ?

URL编码就是替换其中的空格和特殊字符, 变成相应的Hex码.解码就是反向操作。

petert
petert
翻译于 1年前

0人顶

 翻译的不错哦!

JSP

107. JSP页面是什么 ?
一个JSP页面是一个文本文档,包含了两种类型的文本:静态数据和JSP元素。静态数据可以以任何一种基于文本的格式表达,比如HTML或者XML。JSP是一种混合了静态内容与动态生成内容的技术。查看JSP例子

108. JSP请求是如何被处理的?
一个JSP请求的到来,浏览器首先以一个jsp扩展的文件名来请求一个页面。然后,Web Server读取到该请求,使用JSP编译器将JSP页面转换为一个servlet类。注意JSP文件只在该页面的第一次请求或者JSP文件已经改变时才编译。生成的servlet类被调用,去处理浏览器的请求。一旦请求处理完,servlet会向客户端返回一个相应。查看如何获取JSP请求中的参数

jadic
jadic
翻译于 1年前

0人顶

 翻译的不错哦!

109. JSP的优势所在?

使用JSP技术有以下优势:

  • JSP网页被动态的编译,因此开发者很容易更新当前代码。

  • JSP网页可预编译。

  • JSP网页能容易的组合成静态模版,包括HTML XML片段,且代码可形成动态内容。

  • 开发者能提供自定义的JSP标签库,且使用类XML语法访问。

  • 开发者可以在组件级别做逻辑上的改变,但是不能使用程序逻辑编辑个别的网页。

110. 什么是指令?在JSP中, 包括哪些不同类型的指令?

指令是JSP引擎所处理的命令,当网页被编译成小程序时,指令用于去设置页面级别的命令,从外部文件插入数据,指定自定义的标签库。指令被包括在<%@ 和%>内。指令的类型分为:

  • 包含指令:用于包含文件,和当用页面合并文件内容。

  • 页面指令:用于定义JSP页面的具体属性,比如错误页面和缓冲池。

  • 标签库:用于声明页面中使用到的自定义标签库。

漠天
漠天
翻译于 1年前

0人顶

 翻译的不错哦!

111. 什么是JSP的actions?
JSP的actions是使用XML语法结构来控制Servlet引擎的行为。JSP的actions是在当JSP页面请求的时候才执行。它们会动态插入一个文件中,再利用JavaBeans的组件,转发给用户到另一个页面,或者生成带Java插件的HTML页面。以下是一些可以操作的actions:

  • jsp:include- 当JSP页面被请求的时候,包含了一个文件。

  • jsp:useBean- 寻找或者实例化一个JavaBean。

  • jsp:setProperty- 设置JavaBean的属性。

  • jsp:getProperty- 得到JavaBean的属性。

  • jsp:forward- 转发请求到新的页面。

  • jsp:plugin- 生成特定浏览器的代码。

112. 什么是Scriptlet?
在Java Server Page(JSP)技术中,scriptlet是嵌入在JSP页面的其中一块Java代码。scriptlet是标签内的任何东西。在这些标签之间,用户可以添加任何有效的scriptlet。

轩骐
轩骐
翻译于 1年前

1人顶

 翻译的不错哦!

113. 什么是声明?
声明类似于Java中的变量声明。声明是为表达式或者scriptlets后续的使用而声明的变量。添加一个声明,你必须在你的声明中使用序列。

114. 什么是表达式?
JSP表达式是把一个脚本语言表达式的值插入进来,转换成字符串,进入数据流之后再通过web服务器返回给客户端。表达式的定义是在<% = 和 %>标签之间。

115. 什么是隐式对象?他们是什么?
JSP隐式对象是指JSP容器在每页中提供给开发人员的Java对象。开发人员可以直接调用他们,而不需要任何显示声明。JSP隐式对象也被称为预定义变量。以下对象都是在JSP页面中隐式存在的:

  • application

  • page

  • request

  • response

  • session

  • exception

  • out

  • config

  • pageContext

 
坚持看到这里了?哇!这是一篇很长的文章,详细地描述了在Java面试中各种类型的问题。

轩骐
轩骐
翻译于 1年前

1人顶

 翻译的不错哦!

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们

回页面顶部发表评论 网友评论65

  • jdk2010
    jdk2010 发表于 2014-04-25 10:22

    applet那部分不太会

  • xioxin
    xioxin 发表于 2014-04-25 10:23

    第一次发现翻译也有页码

  • 城南往事
    城南往事 发表于 2014-04-25 10:31

    applet还有java swing基本上就看看,主要还是java web这个

  • 你要爪子
    你要爪子 发表于 2014-04-25 10:34

    辛苦大家啦!让红薯发糖

  • 小咖
    小咖 发表于 2014-04-25 10:36

    话说当年这些面试题基本都很熟练,现在表示什么都看不懂了,phper路过......

  • Frank_mc
    Frank_mc 发表于 2014-04-25 10:49

    第一次看到翻页居然不是回复而是文章本身带翻页的

  • pauli
    pauli 发表于 2014-04-25 10:53

    引用来自“Frank_mc”的评论

    第一次看到翻页居然不是回复而是文章本身带翻页的

    翻页超链接点击以后,跳跳跳,好难过
  • 八木
    八木 发表于 2014-04-25 11:23

    这么一堆人翻译。。

  • Glide
    Glide 来自 Android 发表于 2014-04-25 11:24

    引用来自“jdk2010”的评论

    applet那部分不太会

    applet这种技术早就不用了。
  • 马太航
    马太航 发表于 2014-04-25 11:32

    都是初级的。

  • shiwo
    shiwo 来自 Android 发表于 2014-04-25 11:51

    引用来自“Frank_mc”的评论

    第一次看到翻页居然不是回复而是文章本身带翻页的

    引用来自“pauli”的评论

    翻页超链接点击以后,跳跳跳,好难过
    哈哈
  • shiwo
    shiwo 来自 Android 发表于 2014-04-25 11:52

    哈哈

  • 静风流云
    静风流云 发表于 2014-04-25 11:59

    没有查看全文么?

  • 梅开源
    梅开源 发表于 2014-04-25 12:12

    java这样搞就没意思了
    话说问题根源在于那样问

  • Windows10
    Windows10 来自 Android 发表于 2014-04-25 12:22

    马克一下

  • 切丶克闹
    切丶克闹 发表于 2014-04-25 12:23

    mark

  • 缪斯的情人
    缪斯的情人 发表于 2014-04-25 12:47

    挺好的文章,给别人面试时要排除的115题

  • 地方刚刚好
    地方刚刚好 发表于 2014-04-25 12:51

    引用来自“缪斯的情人”的评论

    挺好的文章,给别人面试时要排除的115题

    赞同
  • 12叔
    12叔 发表于 2014-04-25 13:07

    没意思

  • 小郭一号
    小郭一号 发表于 2014-04-25 13:23

    翻译可以协作?挺好。

© 开源中国(OSChina.NET) | 关于我们 | 广告联系 | @新浪微博 | 开源中国手机版 | 粤ICP备12009483号-3 开源中国手机客户端: Android iPhone WP7
开源中国社区(OSChina.net)是工信部 开源软件推进联盟 指定的官方社区
93

115个Java面试题及回答

英文原文:115 Java Interview Questions and Answers – The ULTIMATE List

标签: Java
1054人收藏此文章, 我要收藏 翟志军 推荐于 1年前 (共 50 段, 翻译完成于 04-25) (65评)

95.解释一个Servlet的生命周期.

对每一个客户端的请求,这个Servlet引擎加载servlet和调用它的init方法,以便在servlet初始化。然后, Servlet对象处理所有从客户端来的后续请求,通过为每个请求单独调用服务的方法。最后,该servlet调用服务器的destroy方法。

96 .doGet()和doPost()之间的区别是什么?

doGet : GET方法附加请求的URL的名称 - 值对。因此,存在客户端的请求字符数量的限制。此外,该请求的参数值为可见,因此,如果有敏感信息不能采用这种方式。
doPost: POST方法克服了GET请求的限制,将发送请求的值置于body里。此外,发送值的数量没有限制。最后,通过POST请求传递的敏感信息是不可见的

petert
petert
翻译于 1年前

1人顶

 翻译的不错哦!

97. web应用是什么 ?
web应用是web服务的延伸. 主要有两种类型:面向视觉的和面向服务的. 面向视觉型的应用通过编辑语言来动态展示交互页面. 面向应用的则提供了后端的service.总的来说,就是一堆置于 server's URL明明空间下的servlets.

98. 什么是服务端包含 (SSI) ?
服务端包含是服务端的一种简单脚本语言,主要应用在Web方面,置于servlet标签中. 最常用的地方就是在网页中引入一个或多个文件. 当浏览器加载页面时,使用servlet产生的超文本替换其标签.

petert
petert
翻译于 1年前

1人顶

 翻译的不错哦!

99. 什么是 Servlet 链?
Servlet 链是指将上一个servlet的结果传到下一个.第二个的结构又可以传到第三个. 最后的servlet负责将响应回复给客户端.

100. 如何知道请求 servlet的客户端信息 ?
ServletRequest类可以获取客户端的IP地址或主机名. getRemoteAddr()获取IP getRemoteHost()获取主机名. 示例如下 here.

petert
petert
翻译于 1年前

0人顶

 翻译的不错哦!

101. Http response的结构是什么 ?
HTTP response 包括了三个部分:

  • Status Code: 描述了这次回应的状况. 它可以用来检查这次请求是否成功完成. 一旦请求失败了, 这个status code可以用来寻找原因. 如果你的 servlet 没有返回一个status code, 默认就会返回成功的status code, HttpServletResponse.SC_OK.

  • HTTP Headers: 它包含了response的更多信息.举个例子,headers可以反应response的访问date/time, 或者是用于将实体安全地传送到用户的编码形式。可以阅读 how to retrieve headers in Servlet here.

  • Body: 它是response的具体内容. 可能包括HTML内容,比如图片。Body包括了紧接Header发送的HTTP事务消息数据字节。

102. 什么是cookie?session和cookie之间的区别是什么?
Cookie是Web服务器发送到浏览器的一小块信息,浏览器为每个Web服务器在本地文件中存储cookie。 在以后的请求里, 浏览器对特定的Web服务器,将request和所有特定的Web服务器的cookie一起发送。Session和Cookie之间的区别如下:

  • Session无论在客户端浏览器的设置都可以工作。客户端可以选择禁用cookies。然而,Session仍然可以工作,因为客户端没有能力在服务器端禁用Session。

  • Session和cookie也t有不同的信息存储量。 HTTP会话能够存储任何Java对象,而一个cookie只能保存String对象。

Mike-Tang
Mike-Tang
翻译于 1年前

0人顶

 翻译的不错哦!

103.浏览器和servlet通过什么协议通信  ?
HTTP协议.

104. 什么是HTTP通道 ?
通道是指使用 HTTP或 HTTPS 封装其它的网络协议. HTTP包装了其他的网络通信协议. 其它协议通过HTTP来发送请求的过程就使用了通道.

petert
petert
翻译于 1年前

0人顶

 翻译的不错哦!

105.  sendRedirect和 forward 方法的区别?
 sendRedirect创建一个新的请求,  forward只是将请求转发.之前请求中包含的对象在redirect后将不可用, 因为产生了一个新的请求. 但是 forwarding不受此限制.通常来说,sendRedirect 比 forward 方法慢一些.

106. 什么是URL编码和解码 ?

URL编码就是替换其中的空格和特殊字符, 变成相应的Hex码.解码就是反向操作。

petert
petert
翻译于 1年前

0人顶

 翻译的不错哦!

JSP

107. JSP页面是什么 ?
一个JSP页面是一个文本文档,包含了两种类型的文本:静态数据和JSP元素。静态数据可以以任何一种基于文本的格式表达,比如HTML或者XML。JSP是一种混合了静态内容与动态生成内容的技术。查看JSP例子

108. JSP请求是如何被处理的?
一个JSP请求的到来,浏览器首先以一个jsp扩展的文件名来请求一个页面。然后,Web Server读取到该请求,使用JSP编译器将JSP页面转换为一个servlet类。注意JSP文件只在该页面的第一次请求或者JSP文件已经改变时才编译。生成的servlet类被调用,去处理浏览器的请求。一旦请求处理完,servlet会向客户端返回一个相应。查看如何获取JSP请求中的参数

jadic
jadic
翻译于 1年前

0人顶

 翻译的不错哦!

109. JSP的优势所在?

使用JSP技术有以下优势:

  • JSP网页被动态的编译,因此开发者很容易更新当前代码。

  • JSP网页可预编译。

  • JSP网页能容易的组合成静态模版,包括HTML XML片段,且代码可形成动态内容。

  • 开发者能提供自定义的JSP标签库,且使用类XML语法访问。

  • 开发者可以在组件级别做逻辑上的改变,但是不能使用程序逻辑编辑个别的网页。

110. 什么是指令?在JSP中, 包括哪些不同类型的指令?

指令是JSP引擎所处理的命令,当网页被编译成小程序时,指令用于去设置页面级别的命令,从外部文件插入数据,指定自定义的标签库。指令被包括在<%@ 和%>内。指令的类型分为:

  • 包含指令:用于包含文件,和当用页面合并文件内容。

  • 页面指令:用于定义JSP页面的具体属性,比如错误页面和缓冲池。

  • 标签库:用于声明页面中使用到的自定义标签库。

漠天
漠天
翻译于 1年前

0人顶

 翻译的不错哦!

111. 什么是JSP的actions?
JSP的actions是使用XML语法结构来控制Servlet引擎的行为。JSP的actions是在当JSP页面请求的时候才执行。它们会动态插入一个文件中,再利用JavaBeans的组件,转发给用户到另一个页面,或者生成带Java插件的HTML页面。以下是一些可以操作的actions:

  • jsp:include- 当JSP页面被请求的时候,包含了一个文件。

  • jsp:useBean- 寻找或者实例化一个JavaBean。

  • jsp:setProperty- 设置JavaBean的属性。

  • jsp:getProperty- 得到JavaBean的属性。

  • jsp:forward- 转发请求到新的页面。

  • jsp:plugin- 生成特定浏览器的代码。

112. 什么是Scriptlet?
在Java Server Page(JSP)技术中,scriptlet是嵌入在JSP页面的其中一块Java代码。scriptlet是标签内的任何东西。在这些标签之间,用户可以添加任何有效的scriptlet。

轩骐
轩骐
翻译于 1年前

1人顶

 翻译的不错哦!

113. 什么是声明?
声明类似于Java中的变量声明。声明是为表达式或者scriptlets后续的使用而声明的变量。添加一个声明,你必须在你的声明中使用序列。

114. 什么是表达式?
JSP表达式是把一个脚本语言表达式的值插入进来,转换成字符串,进入数据流之后再通过web服务器返回给客户端。表达式的定义是在<% = 和 %>标签之间。

115. 什么是隐式对象?他们是什么?
JSP隐式对象是指JSP容器在每页中提供给开发人员的Java对象。开发人员可以直接调用他们,而不需要任何显示声明。JSP隐式对象也被称为预定义变量。以下对象都是在JSP页面中隐式存在的:

  • application

  • page

  • request

  • response

  • session

  • exception

  • out

  • config

  • pageContext

 
坚持看到这里了?哇!这是一篇很长的文章,详细地描述了在Java面试中各种类型的问题。

轩骐
轩骐
翻译于 1年前

1人顶

 翻译的不错哦!

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们

回页面顶部发表评论 网友评论65

  • jdk2010
    jdk2010 发表于 2014-04-25 10:22

    applet那部分不太会

  • xioxin
    xioxin 发表于 2014-04-25 10:23

    第一次发现翻译也有页码

  • 城南往事
    城南往事 发表于 2014-04-25 10:31

    applet还有java swing基本上就看看,主要还是java web这个

  • 你要爪子
    你要爪子 发表于 2014-04-25 10:34

    辛苦大家啦!让红薯发糖

  • 小咖
    小咖 发表于 2014-04-25 10:36

    话说当年这些面试题基本都很熟练,现在表示什么都看不懂了,phper路过......

  • Frank_mc
    Frank_mc 发表于 2014-04-25 10:49

    第一次看到翻页居然不是回复而是文章本身带翻页的

  • pauli
    pauli 发表于 2014-04-25 10:53

    引用来自“Frank_mc”的评论

    第一次看到翻页居然不是回复而是文章本身带翻页的

    翻页超链接点击以后,跳跳跳,好难过
  • 八木
    八木 发表于 2014-04-25 11:23

    这么一堆人翻译。。

  • Glide
    Glide 来自 Android 发表于 2014-04-25 11:24

    引用来自“jdk2010”的评论

    applet那部分不太会

    applet这种技术早就不用了。
  • 马太航
    马太航 发表于 2014-04-25 11:32

    都是初级的。

  • shiwo
    shiwo 来自 Android 发表于 2014-04-25 11:51

    引用来自“Frank_mc”的评论

    第一次看到翻页居然不是回复而是文章本身带翻页的

    引用来自“pauli”的评论

    翻页超链接点击以后,跳跳跳,好难过
    哈哈
  • shiwo
    shiwo 来自 Android 发表于 2014-04-25 11:52

    哈哈

  • 静风流云
    静风流云 发表于 2014-04-25 11:59

    没有查看全文么?

  • 梅开源
    梅开源 发表于 2014-04-25 12:12

    java这样搞就没意思了
    话说问题根源在于那样问

  • Windows10
    Windows10 来自 Android 发表于 2014-04-25 12:22

    马克一下

  • 切丶克闹
    切丶克闹 发表于 2014-04-25 12:23

    mark

  • 缪斯的情人
    缪斯的情人 发表于 2014-04-25 12:47

    挺好的文章,给别人面试时要排除的115题

  • 地方刚刚好
    地方刚刚好 发表于 2014-04-25 12:51

    引用来自“缪斯的情人”的评论

    挺好的文章,给别人面试时要排除的115题

    赞同
  • 12叔
    12叔 发表于 2014-04-25 13:07

    没意思

  • 小郭一号
    小郭一号 发表于 2014-04-25 13:23

    翻译可以协作?挺好。

© 开源中国(OSChina.NET) | 关于我们 | 广告联系 | @新浪微博 | 开源中国手机版 | 粤ICP备12009483号-3 开源中国手机客户端: Android iPhone WP7
开源中国社区(OSChina.net)是工信部 开源软件推进联盟 指定的官方社区